#include <iostream>
using namespace std;

// 冒泡排序函数
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; ++i) {
        // 标记是否发生交换
        bool swapped = false;
        for (int j = 0; j < n - i - 1; ++j) {
            if (arr[j] > arr[j + 1]) {
                // 交换 arr[j] 和 arr[j+1]
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                swapped = true;
            }
        }
        // 如果没有发生交换，说明数组已经有序，提前结束
        if (!swapped) {
            break;
        }
    }
}

int main() {
    int n;
    cin >> n;
    
    // 创建一个大小为 n 的数组
    int arr[n];
    
    // 输入数组元素
    for (int i = 0; i < n; ++i) {
        cin >> arr[i];
    }
    
    // 对数组进行冒泡排序
    bubbleSort(arr, n);
    
    // 输出排序后的数组
    for (int i = 0; i < n; ++i) {
        cout << arr[i];
        if (i < n - 1) {
            cout << " ";
        }
    }
    cout << endl;
    
    return 0;
}